@charset "utf-8";

// fun start
// default theme
.bg-c(@theme: 0) {
    background: linear-gradient(to right, rgb(15, 32, 39), rgb(32, 58, 67), rgb(44, 83, 100));
}
.menu-bg-c(@theme: 0) {
    background: rgba(32, 58, 67, 0.2);
}

// theme 1
.bg-c(@theme) when (@theme = 1) {
    background: linear-gradient(to right, rgb(170, 75, 107), rgb(107, 107, 131), rgb(59, 141, 153));
}
.menu-bg-c(@theme) when (@theme = 1) {
    background: rgba(107, 107, 131, 0.2);
}

.font() {
    font: 14px/1.5 "Roboto", "Helvetica", "Arial", sans-serif;
}
.full() {
    width: 100vw;
    height: 100vh;
}

.initStyle() {
    box-sizing: border-box;
    user-select: none;
}

// menu start
.menuBtn() {
    .hidden-menu-btn {
        width: 40px;
        cursor: pointer;
        margin-top: 50%;

        .line {
            display: block;
            width: 100%;
            height: 4px;
            border-radius: 4px;
            background-color: #fff;
            margin-bottom: 8px;
            transition: all 0.3s ease-in-out;
        }
        &.active {
            .line {
                &:nth-child(1) {
                    transform: translate3d(-8px, 0, 0) rotate(-45deg) scaleX(0.9);
                }
                &:nth-child(3) {
                    transform: translate3d(-8px, 0, 0) rotate(45deg) scaleX(0.9);
                }
            }
        }
    }
}
// menu end

// fun end

:root {
    .full();
    .bg-c();
    .font();
    overflow-x: hidden;
}

.backmanage-layout {
    .full();
}

// menu start
.sidebar-wrapper {
    position: fixed;
    width: 260px;
    height: 100vh;
    overflow: hidden;
    .menu-bg-c();
    border-right: 1px solid rgb(255 255 255 / 14%);
    z-index: 1001;
    transition: all 0.3s;

    .menu-side-scroll {
        position: absolute;
        width: 279px;
        height: 100vh;
        overflow-x: hidden;
    }

    .initStyle();
}
// menu end

// header start
.top-header {
    display: flex;
    width: 100%;
    height: 70px;
    line-height: 70px;
    position: fixed;
    top: 0;
    .bg-c();
    border-bottom: 1px solid rgb(255 255 255 / 14%);
    z-index: 1000;

    .initStyle();

    .nav-left {
        margin-left: 269px;
    }
    .nav-right {
        margin-left: auto;
        margin-right: 15px;
    }

    .menuBtn();
}
// header end

// page start
.page-wrapper {
    position: absolute;
    top: 70px;
    right: 0;
    left: 260px;
    width: calc(100vw - 260px);
    transition: all 0.3s;
}
// page end

// side shrink start
.side-shrink {
    .sidebar-wrapper {
        width: 0;
    }
    .page-wrapper {
        left: 0;
    }
}
// side shrink end
